﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ServiceModel;

    [GeneratedCode("System.ServiceModel", "3.0.0.0"), ServiceContract(Namespace="http://www.onvif.org/ver20/imaging/wsdl", ConfigurationName="ImagingPort")]
    public interface ImagingPort
    {
        [return: MessageParameter(Name="ImagingSettings")]
        [OperationContract(Action="http://www.onvif.org/ver20/imaging/wsdl/GetImagingSettings", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat]
        ImagingSettings20 GetImagingSettings(string VideoSourceToken);
        [return: MessageParameter(Name="MoveOptions")]
        [ServiceKnownType(typeof(ConfigurationEntity)), XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver20/imaging/wsdl/GetMoveOptions", ReplyAction="*")]
        MoveOptions20 GetMoveOptions(string VideoSourceToken);
        [return: MessageParameter(Name="ImagingOptions")]
        [XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/imaging/wsdl/GetOptions", ReplyAction="*")]
        ImagingOptions20 GetOptions(string VideoSourceToken);
        [return: MessageParameter(Name="Capabilities")]
        [ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver20/imaging/wsdl/GetServiceCapabilities", ReplyAction="*")]
        ImagingServiceCapabilities GetServiceCapabilities();
        [return: MessageParameter(Name="Status")]
        [XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver20/imaging/wsdl/GetStatus", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity))]
        ImagingStatus20 GetStatus(string VideoSourceToken);
        [ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver20/imaging/wsdl/Move", ReplyAction="*")]
        void Move(string VideoSourceToken, FocusMove Focus);
        [OperationContract(Action="http://www.onvif.org/ver20/imaging/wsdl/SetImagingSettings", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity))]
        void SetImagingSettings(string VideoSourceToken, ImagingSettings20 ImagingSettings, bool ForcePersistence);
        [OperationContract(Action="http://www.onvif.org/ver20/imaging/wsdl/FocusStop", ReplyAction="*"), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        void Stop(string VideoSourceToken);
    }
}

